[INFO] cloning repository https://github.com/TheReaperJay/monsgeek-linux-firmware-driver
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TheReaperJay/monsgeek-linux-firmware-driver" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheReaperJay%2Fmonsgeek-linux-firmware-driver", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheReaperJay%2Fmonsgeek-linux-firmware-driver'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b75d3406d6d70cb7b43dc22fc56144c509136adc
[INFO] testing TheReaperJay/monsgeek-linux-firmware-driver against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheReaperJay%2Fmonsgeek-linux-firmware-driver" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/TheReaperJay/monsgeek-linux-firmware-driver
[INFO] finished tweaking git repo https://github.com/TheReaperJay/monsgeek-linux-firmware-driver
[INFO] tweaked toml for git repo https://github.com/TheReaperJay/monsgeek-linux-firmware-driver written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/TheReaperJay/monsgeek-linux-firmware-driver on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/TheReaperJay/monsgeek-linux-firmware-driver already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_spanned v1.1.0
[INFO] [stderr]   Downloaded toml_datetime v1.1.0+spec-1.1.0
[INFO] [stderr]   Downloaded simple_logger v5.2.0
[INFO] [stderr]   Downloaded sd-notify v0.5.0
[INFO] [stderr]   Downloaded toml_writer v1.1.0+spec-1.1.0
[INFO] [stderr]   Downloaded tonic-build v0.12.3
[INFO] [stderr]   Downloaded toml_parser v1.1.0+spec-1.1.0
[INFO] [stderr]   Downloaded rusb v0.9.4
[INFO] [stderr]   Downloaded toml v1.1.0+spec-1.1.0
[INFO] [stderr]   Downloaded evdev v0.13.2
[INFO] [stderr]   Downloaded iri-string v0.7.11
[INFO] [stderr]   Downloaded libusb1-sys v0.7.0
[INFO] [stderr]   Downloaded tonic-web v0.12.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ec591d71f9a274b1fea8f462d9126f4a1dafb087640bd6020d9ce5cf02147d22
[INFO] running `Command { std: "docker" "start" "-a" "ec591d71f9a274b1fea8f462d9126f4a1dafb087640bd6020d9ce5cf02147d22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec591d71f9a274b1fea8f462d9126f4a1dafb087640bd6020d9ce5cf02147d22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec591d71f9a274b1fea8f462d9126f4a1dafb087640bd6020d9ce5cf02147d22", kill_on_drop: false }`
[INFO] [stdout] ec591d71f9a274b1fea8f462d9126f4a1dafb087640bd6020d9ce5cf02147d22
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fb0158f12a9480fd383db00265ee960a0e52636ff19893c54021f45816e844dc
[INFO] running `Command { std: "docker" "start" "-a" "fb0158f12a9480fd383db00265ee960a0e52636ff19893c54021f45816e844dc", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling libusb1-sys v0.7.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling rusb v0.9.4
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling monsgeek-protocol v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-protocol)
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling udev v0.9.3
[INFO] [stderr]    Compiling iri-string v0.7.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling monsgeek-transport v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-transport)
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling env_filter v1.0.1
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde_spanned v1.1.0
[INFO] [stderr]    Compiling toml_datetime v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling toml_writer v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling jiff v0.2.23
[INFO] [stderr]    Compiling sd-notify v0.5.0
[INFO] [stderr]    Compiling toml_parser v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling prost-build v0.13.5
[INFO] [stderr]    Compiling tonic-build v0.12.3
[INFO] [stderr]    Compiling evdev v0.13.2
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling monsgeek-driver v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-driver)
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling env_logger v0.11.10
[INFO] [stderr]    Compiling monsgeek-inputd v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-inputd)
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-timeout v0.5.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling tonic v0.12.3
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling monsgeek-firmware v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-firmware)
[INFO] [stderr]    Compiling tonic-web v0.12.3
[INFO] [stderr]    Compiling monsgeek-cli v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 12s
[INFO] running `Command { std: "docker" "inspect" "fb0158f12a9480fd383db00265ee960a0e52636ff19893c54021f45816e844dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fb0158f12a9480fd383db00265ee960a0e52636ff19893c54021f45816e844dc", kill_on_drop: false }`
[INFO] [stdout] fb0158f12a9480fd383db00265ee960a0e52636ff19893c54021f45816e844dc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] acef4c5da7226351c4bb8e7f3a5b5580df361d62886b2528020756fd734bb1dd
[INFO] running `Command { std: "docker" "start" "-a" "acef4c5da7226351c4bb8e7f3a5b5580df361d62886b2528020756fd734bb1dd", kill_on_drop: false }`
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling monsgeek-protocol v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-protocol)
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling hyper-timeout v0.5.2
[INFO] [stderr]    Compiling tonic v0.12.3
[INFO] [stderr]    Compiling simple_logger v5.2.0
[INFO] [stderr]    Compiling monsgeek-transport v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-transport)
[INFO] [stderr]    Compiling monsgeek-inputd v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-inputd)
[INFO] [stderr]    Compiling tonic-web v0.12.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling monsgeek-firmware v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-firmware)
[INFO] [stderr]    Compiling monsgeek-driver v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-driver)
[INFO] [stderr]    Compiling monsgeek-cli v0.1.0 (/opt/rustwide/workdir/crates/monsgeek-cli)
[INFO] [stdout] warning: associated function `with_responses` is never used
[INFO] [stdout]   --> crates/monsgeek-driver/tests/mock_transport.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl MockTransport {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn with_responses(responses: Vec<[u8; 64]>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 35.89s
[INFO] running `Command { std: "docker" "inspect" "acef4c5da7226351c4bb8e7f3a5b5580df361d62886b2528020756fd734bb1dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "acef4c5da7226351c4bb8e7f3a5b5580df361d62886b2528020756fd734bb1dd", kill_on_drop: false }`
[INFO] [stdout] acef4c5da7226351c4bb8e7f3a5b5580df361d62886b2528020756fd734bb1dd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a6e1a6b6337dbccdbce4847944abb81fc9d7635889671ce7aef38454fa5443cd
[INFO] running `Command { std: "docker" "start" "-a" "a6e1a6b6337dbccdbce4847944abb81fc9d7635889671ce7aef38454fa5443cd", kill_on_drop: false }`
[INFO] [stderr] warning: associated function `with_responses` is never used
[INFO] [stderr]   --> crates/monsgeek-driver/tests/mock_transport.rs:26:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl MockTransport {
[INFO] [stderr]    | ------------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub fn with_responses(responses: Vec<[u8; 64]>) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `monsgeek-driver` (test "bounds_validation") generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.53s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/monsgeek_cli-8ba88f6e249f7c81)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test client::tests::merge_device_list_add_upserts_by_path ... ok
[INFO] [stdout] test client::tests::merge_device_list_remove_drops_paths ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/monsgeek_cli-42846a7c59db1a37)
[INFO] [stderr]      Running tests/cli_smoke.rs (/opt/rustwide/target/debug/deps/cli_smoke-2669f9e0e151383d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test raw_write_requires_unsafe_flag ... ok
[INFO] [stdout] test keymap_get_decodes_selected_entry_from_page_response ... ok
[INFO] [stdout] test single_device_auto_selection_succeeds ... ok
[INFO] [stdout] test model_selector_filters_by_registry_slug_name ... ok
[INFO] [stdout] test info_mapping_uses_get_usb_version_byte ... ok
[INFO] [stdout] test smoke_command_framing_with_stubbed_transport ... ok
[INFO] [stdout] test parser_recognizes_all_required_subcommands_and_selector_flags ... ok
[INFO] [stdout] test multiple_devices_requires_selector ... ok
[INFO] [stdout] test keymap_get_builds_page_query_with_magic_ff ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/firmware_cli.rs (/opt/rustwide/target/debug/deps/firmware_cli-01d9a35338836288)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test firmware_validate_blocks_metadata_mismatch_without_override ... ok
[INFO] [stdout] test validate_blocks_metadata_mismatch_without_override ... ok
[INFO] [stdout] test firmware_version_builds_get_usb_version_request ... ok
[INFO] [stdout] test firmware_flash_requires_typed_phrase_when_interactive ... ok
[INFO] [stdout] test flash_requires_dual_non_interactive_flags ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/monsgeek_driver-15f9b8804d314393)
[INFO] [stdout] test version_builds_get_usb_version_request ... ok
[INFO] [stdout] test firmware_validate_allows_unofficial_when_flag_set ... ok
[INFO] [stdout] test firmware_flash_requires_dual_non_interactive_flags ... ok
[INFO] [stdout] test flash_requires_typed_phrase_when_interactive ... ok
[INFO] [stdout] test validate_allows_unofficial_when_flag_set ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 59 tests
[INFO] [stdout] test service::tests::read_raw_feature_signature_exists ... ok
[INFO] [stdout] test service::tests::read_msg_signature_exists ... ok
[INFO] [stdout] test service::tests::get_version_signature_exists ... ok
[INFO] [stdout] test service::tests::send_msg_signature_exists ... ok
[INFO] [stdout] test service::tests::send_raw_feature_signature_exists ... ok
[INFO] [stdout] test service::tests::stale_alias_like_path_does_not_resolve ... ok
[INFO] [stdout] test service::tests::exact_path_lookup_matches_only_live_instance_path ... ok
[INFO] [stdout] test service::tests::test_non_dangerous_command_passes_through ... ok
[INFO] [stdout] test service::tests::test_magnetic_cmd_magnetic_device_passes ... ok
[INFO] [stdout] test service::tests::test_all_magnetic_cmds_gated ... ok
[INFO] [stdout] test service::device_registry::tests::upsert_reuses_path_for_same_usb_location ... ok
[INFO] [stdout] test service::db_store::tests::db_insert_get_roundtrip ... ok
[INFO] [stdout] test service::tests::test_normalize_simple_fn_reset_config ... ok
[INFO] [stdout] test service::device_registry::tests::mark_offline_updates_online_flag ... ok
[INFO] [stdout] test service::tests::test_magnetic_cmd_non_magnetic_device_compat_blocked ... ok
[INFO] [stdout] test service::tests::test_normalize_non_simple_unchanged ... ok
[INFO] [stdout] test service::tests::test_magnetic_read_cmds_not_gated ... ok
[INFO] [stdout] test service::tests::test_normalize_simple_forbidden_unchanged ... ok
[INFO] [stdout] test service::device_registry::tests::upsert_roundtrip_by_path ... ok
[INFO] [stdout] test service::tests::instance_path_registry_roundtrip ... ok
[INFO] [stdout] test service::tests::test_normalize_simple_macro_unchanged ... ok
[INFO] [stdout] test service::tests::test_set_fn_fn_sys_accepts_two_layer_device ... ok
[INFO] [stdout] test service::tests::test_set_fn_fn_sys_oob_rejected ... ok
[INFO] [stdout] test service::tests::test_policy_synthesizes_and_errors_for_invalid_write ... ok
[INFO] [stdout] test service::tests::test_normalize_simple_reset_config ... ok
[INFO] [stdout] test service::tests::test_policy_synthesizes_for_blocked_magnetic_write ... ok
[INFO] [stdout] test service::tests::test_set_fn_fn_sys_respects_single_layer_device_limit ... ok
[INFO] [stdout] test service::tests::test_normalize_simple_remap_unchanged ... ok
[INFO] [stdout] test service::tests::test_set_fn_boundary_valid ... ok
[INFO] [stdout] test service::tests::test_set_fn_key_index_oob_rejected ... ok
[INFO] [stdout] test service::tests::test_set_fn_profile_oob_rejected ... ok
[INFO] [stdout] test service::tests::test_set_fn_simple_key_index_oob_rejected ... ok
[INFO] [stdout] test service::tests::test_set_fn_simple_profile_oob_rejected ... ok
[INFO] [stdout] test service::tests::test_set_fn_simple_short_buffer_rejected ... ok
[INFO] [stdout] test service::tests::test_set_fn_short_buffer_rejected ... ok
[INFO] [stdout] test service::tests::test_set_keymatrix_boundary_valid ... ok
[INFO] [stdout] test service::tests::test_set_keymatrix_layer_oob_rejected ... ok
[INFO] [stdout] test service::tests::test_set_fn_valid_passes ... ok
[INFO] [stdout] test service::tests::test_set_keymatrix_simple_bounds_validated ... ok
[INFO] [stdout] test service::tests::test_set_keymatrix_key_index_oob_rejected ... ok
[INFO] [stdout] test service::tests::test_set_macro_boundary_valid ... ok
[INFO] [stdout] test service::tests::test_set_macro_chunk_page_oob_rejected ... ok
[INFO] [stdout] test service::tests::test_set_macro_index_oob_rejected ... ok
[INFO] [stdout] test service::tests::test_set_macro_valid_passes ... ok
[INFO] [stdout] test service::tests::test_set_keymatrix_profile_oob_rejected ... ok
[INFO] [stdout] test service::tests::test_set_keymatrix_valid_passes_through ... ok
[INFO] [stdout] test service::tests::test_set_profile_allows_five_layer_device_profile_four ... ok
[INFO] [stdout] test service::tests::test_set_profile_oob_rejected ... ok
[INFO] [stdout] test service::tests::test_set_profile_short_buffer_rejected ... ok
[INFO] [stdout] test service::tests::test_set_fn_simple_valid_passes ... ok
[INFO] [stdout] test service::tests::test_set_macro_short_buffer_rejected ... ok
[INFO] [stdout] test service::tests::test_set_keymatrix_short_buffer_rejected ... ok
[INFO] [stdout] test service::tests::test_set_profile_respects_device_layer_limit ... ok
[INFO] [stdout] test service::tests::test_set_profile_valid_passes ... ok
[INFO] [stdout] test service::tests::shutdown_clears_runtime_state ... ok
[INFO] [stdout] test service::tests::db_insert_get_roundtrip ... ok
[INFO] [stdout] test service::tests::read_response_rpc_rejects_empty_device_path ... ok
[INFO] [stdout] test service::tests::send_command_rpc_rejects_empty_device_path ... ok
[INFO] [stdout] test service::tests::watch_dev_list_init_message_type_is_present ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 59 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/monsgeek_driver-74156fdd3783aef0)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::addr_in_use_detection_on_io_error ... ok
[INFO] [stdout] test tests::socket_inode_parser_extracts_inode ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bounds_validation.rs (/opt/rustwide/target/debug/deps/bounds_validation-d79654c61f41de87)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_bridge_transport_forwards_any_command ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/grpc_contract_tests.rs (/opt/rustwide/target/debug/deps/grpc_contract_tests-6ed816d6271f6d9d)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test grpc_full_service_contract_present ... ok
[INFO] [stdout] test grpc_read_raw_feature_returns_data ... ok
[INFO] [stdout] test grpc_query_raw_returns_data_without_echo_requirement ... ok
[INFO] [stdout] test grpc_send_raw_feature_forwards ... ok
[INFO] [stdout] test grpc_send_msg_forwards_with_checksum ... ok
[INFO] [stdout] test grpc_cors_headers_present ... ok
[INFO] [stdout] test grpc_server_starts_http1 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/grpc_db_tests.rs (/opt/rustwide/target/debug/deps/grpc_db_tests-104f2b9354a03d93)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test grpc_db_insert_get_roundtrip ... ok
[INFO] [stdout] test grpc_get_version_shape ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/grpc_watch_stream_tests.rs (/opt/rustwide/target/debug/deps/grpc_watch_stream_tests-c129d41a2daf621d)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test grpc_watch_dev_list_init_add_remove ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mock_transport.rs (/opt/rustwide/target/debug/deps/mock_transport-814de4a90fcd4081)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ota_stream.rs (/opt/rustwide/target/debug/deps/ota_stream-060dbc7c82a88ea5)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test upgrade_otagatt_requires_enable_flag ... ok
[INFO] [stdout] test upgrade_otagatt_streams_phase_progress_in_order ... ok
[INFO] [stdout] test upgrade_otagatt_success_requires_post_verify_queries ... ok
[INFO] [stdout] test upgrade_otagatt_reports_recovery_guidance_on_integrity_failure ... ok
[INFO] [stdout] test upgrade_otagatt_retries_bootloader_once_then_fails ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/monsgeek_firmware-4e80e6034cde3739)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test engine::tests::transfer_markers_match_protocol ... ok
[INFO] [stdout] test engine::tests::checksum_includes_ff_padding ... ok
[INFO] [stdout] test engine::tests::engine_executes_chunks ... ok
[INFO] [stdout] test vendor_api::tests::parse_version_string_ignores_unknown_pairs ... ok
[INFO] [stdout] test vendor_api::tests::parse_version_string_maps_usb_and_rf ... ok
[INFO] [stdout] test preflight::tests::preflight_checksum_uses_ff_padding ... ok
[INFO] [stdout] test preflight::tests::preflight_backup_failure_requires_override ... ok
[INFO] [stdout] test preflight::tests::preflight_blocks_metadata_mismatch_without_override ... ok
[INFO] [stdout] test preflight::tests::preflight_requires_typed_phrase_when_interactive ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/monsgeek_inputd-1412190ad3102fe4)
[INFO] [stdout] test preflight::tests::preflight_requires_dual_non_interactive_flags ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test uinput_device::tests::test_key_action_to_input_event_press ... ok
[INFO] [stdout] test uinput_device::tests::test_key_actions_to_input_events_empty ... ok
[INFO] [stdout] test uinput_device::tests::test_key_actions_to_input_events_batch ... ok
[INFO] [stdout] test uinput_device::tests::test_key_action_to_input_event_release ... ok
[INFO] [stdout] test uinput_device::tests::test_virtual_keyboard_identity_uses_real_vid_pid ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/monsgeek_inputd-76e076e9ccd9f164)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test config::tests::test_config_default_debounce_is_none ... ok
[INFO] [stdout] test config::tests::test_resolve_debounce_cli_wins_over_config ... ok
[INFO] [stdout] test config::tests::test_resolve_debounce_config_wins_over_default ... ok
[INFO] [stdout] test config::tests::test_resolve_debounce_hardcoded_fallback ... ok
[INFO] [stdout] test daemon::tests::select_devices_filters_by_bus_address ... ok
[INFO] [stdout] test daemon::tests::sanitize_thread_name_replaces_symbols ... ok
[INFO] [stdout] test tests::parse_device_selector_accepts_bus_address ... ok
[INFO] [stdout] test tests::parse_device_selector_accepts_instance_path ... ok
[INFO] [stdout] test tests::parse_device_selector_accepts_usb_location ... ok
[INFO] [stdout] test daemon::tests::select_devices_filters_by_usb_location ... ok
[INFO] [stdout] test config::tests::test_config_deserialize_empty_toml ... ok
[INFO] [stdout] test config::tests::test_config_deserialize_from_toml ... ok
[INFO] [stderr]      Running tests/hardware.rs (/opt/rustwide/target/debug/deps/hardware-0f6fced986d981e0)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/monsgeek_protocol-fc342214782367ce)
[INFO] [stdout] 
[INFO] [stdout] running 103 tests
[INFO] [stdout] test ble::tests::test_report_size ... ok
[INFO] [stdout] test ble::tests::test_vendor_report_id ... ok
[INFO] [stdout] test ble::tests::test_cmdresp_marker ... ok
[INFO] [stdout] test checksum::tests::test_checksum_type_default ... ok
[INFO] [stdout] test checksum::tests::test_checksum_bit7_single_byte ... ok
[INFO] [stdout] test checksum::tests::test_build_command_with_data ... ok
[INFO] [stdout] test checksum::tests::test_apply_checksum_bit8 ... ok
[INFO] [stdout] test checksum::tests::test_apply_checksum_bit7 ... ok
[INFO] [stdout] test checksum::tests::test_build_command_get_usb_version ... ok
[INFO] [stdout] test checksum::tests::test_build_command_checksum_excludes_report_id ... ok
[INFO] [stdout] test checksum::tests::test_checksum_bit7_multiple_bytes ... ok
[INFO] [stdout] test checksum::tests::test_checksum_bit8 ... ok
[INFO] [stdout] test checksum::tests::test_build_ble_command ... ok
[INFO] [stdout] test cmd::tests::test_get_usb_version ... ok
[INFO] [stdout] test cmd::tests::test_get_dongle_status ... ok
[INFO] [stdout] test cmd::tests::test_name_unknown_command ... ok
[INFO] [stdout] test cmd::tests::test_set_ledparam ... ok
[INFO] [stdout] test cmd::tests::test_name_known_command ... ok
[INFO] [stdout] test cmd::tests::test_set_multi_magnetism ... ok
[INFO] [stdout] test cmd::tests::test_get_multi_magnetism ... ok
[INFO] [stdout] test checksum::tests::test_checksum_none ... ok
[INFO] [stdout] test cmd::tests::test_status_success ... ok
[INFO] [stdout] test command_policy::tests::magnetic_write_blocked_with_synthetic_read_and_no_error ... ok
[INFO] [stdout] test command_policy::tests::invalid_set_profile_returns_error_and_synthetic_read ... ok
[INFO] [stdout] test command_policy::tests::normalize_simple_reset_pattern_rewrites_config ... ok
[INFO] [stdout] test command_policy::tests::valid_set_profile_forwards ... ok
[INFO] [stdout] test command_policy::tests::set_fn_missing_fn_sys_layer_is_failed_precondition ... ok
[INFO] [stdout] test command_schema::tests::normalizer_prepend_profile_zero_single_byte ... ok
[INFO] [stdout] test command_schema::tests::normalizer_prepend_profile_zero_three_bytes ... ok
[INFO] [stdout] test command_schema::tests::normalizer_prepend_profile_zero_empty ... ok
[INFO] [stdout] test command_schema::tests::schema_map_device_specific_wins_over_shared ... ok
[INFO] [stdout] test command_schema::tests::schema_map_m5w_led_commands_shared ... ok
[INFO] [stdout] test command_policy::tests::query_keeps_device_read_policy ... ok
[INFO] [stdout] test command_policy::tests::set_profile_missing_layer_is_failed_precondition ... ok
[INFO] [stdout] test command_schema::tests::schema_map_m5w_integration ... ok
[INFO] [stdout] test command_schema::tests::schema_map_m5w_get_report_shared ... ok
[INFO] [stdout] test command_schema::tests::normalizer_prepend_profile_zero_passthrough ... ok
[INFO] [stdout] test command_schema::tests::schema_map_probe_only_allows_get_usb_version ... ok
[INFO] [stdout] test command_schema::tests::schema_map_ry5088_debounce_variable ... ok
[INFO] [stdout] test command_schema::tests::schema_map_probe_only_rejects_other_commands ... ok
[INFO] [stdout] test command_schema::tests::schema_map_strict_mode ... ok
[INFO] [stdout] test command_schema::tests::schema_map_yichip_collisions_resolve_correctly ... ok
[INFO] [stdout] test command_schema::tests::schema_map_max_payload_size_constant ... ok
[INFO] [stdout] test command_schema::tests::schema_map_m5w_set_report_shared ... ok
[INFO] [stdout] test command_schema::tests::schema_map_ry5088_get_report_known ... ok
[INFO] [stdout] test command_schema::tests::schema_map_unknown_command ... ok
[INFO] [stdout] test command_schema::tests::schema_map_yichip_debounce_normalized ... ok
[INFO] [stdout] test device::tests::test_commands_apply_device_overrides ... ok
[INFO] [stdout] test device::tests::test_fn_sys_layer_deserialization ... ok
[INFO] [stdout] test device::tests::test_commands_fall_back_to_family_when_no_overrides ... ok
[INFO] [stdout] test device::tests::test_has_magnetism_false_when_no_magnetic_switch_true ... ok
[INFO] [stdout] test device::tests::test_has_magnetism_true_when_magnetism_true ... ok
[INFO] [stdout] test device::tests::test_has_magnetism_true_when_no_magnetic_switch_false ... ok
[INFO] [stdout] test device::tests::test_m5w_device_definition ... ok
[INFO] [stdout] test device::tests::test_m5w_identity ... ok
[INFO] [stdout] test device::tests::test_optional_fields_default_to_none ... ok
[INFO] [stdout] test device::tests::test_supports_runtime_pid_accepts_canonical_and_aliases ... ok
[INFO] [stdout] test hid::tests::test_input_report_size ... ok
[INFO] [stdout] test hid::tests::test_is_vendor_usage_page_ff00 ... ok
[INFO] [stdout] test hid::tests::test_is_vendor_usage_page_ffff ... ok
[INFO] [stdout] test hid::tests::test_interface_feature ... ok
[INFO] [stdout] test hid::tests::test_is_vendor_usage_page_standard ... ok
[INFO] [stdout] test hid::tests::test_report_size ... ok
[INFO] [stdout] test hid::tests::test_usage_page ... ok
[INFO] [stdout] test magnetism::tests::test_calibration ... ok
[INFO] [stdout] test magnetism::tests::test_key_mode ... ok
[INFO] [stdout] test magnetism::tests::test_name_known ... ok
[INFO] [stdout] test magnetism::tests::test_name_unknown ... ok
[INFO] [stdout] test magnetism::tests::test_press_travel ... ok
[INFO] [stdout] test magnetism::tests::test_rt_press ... ok
[INFO] [stdout] test precision::tests::test_fine_version ... ok
[INFO] [stdout] test precision::tests::test_medium_version ... ok
[INFO] [stdout] test protocol::tests::test_commands_method ... ok
[INFO] [stdout] test protocol::tests::test_detect_case_insensitive ... ok
[INFO] [stdout] test protocol::tests::test_detect_default_ry5088 ... ok
[INFO] [stdout] test protocol::tests::test_detect_name_wins_over_pid ... ok
[INFO] [stdout] test protocol::tests::test_detect_ry5088_by_name ... ok
[INFO] [stdout] test protocol::tests::test_detect_ry5088_by_name_ry1086 ... ok
[INFO] [stdout] test protocol::tests::test_detect_yichip_by_name ... ok
[INFO] [stdout] test protocol::tests::test_detect_yichip_by_name_yc300 ... ok
[INFO] [stdout] test protocol::tests::test_detect_yichip_by_name_yc3123 ... ok
[INFO] [stdout] test protocol::tests::test_detect_yichip_by_name_yc500 ... ok
[INFO] [stdout] test protocol::tests::test_detect_yichip_by_pid ... ok
[INFO] [stdout] test protocol::tests::test_detect_yichip_by_pid_4099 ... ok
[INFO] [stdout] test protocol::tests::test_display ... ok
[INFO] [stdout] test protocol::tests::test_yichip_command_table ... ok
[INFO] [stdout] test protocol::tests::test_ry5088_command_table ... ok
[INFO] [stdout] test registry::tests::test_empty_directory ... ok
[INFO] [stdout] test registry::tests::test_registry_extensible ... ok
[INFO] [stdout] test rgb::tests::test_total_rgb_size ... ok
[INFO] [stdout] test registry::tests::test_find_by_runtime_vid_pid_includes_aliases ... ok
[INFO] [stdout] test registry::tests::test_shared_vid_pid ... ok
[INFO] [stdout] test registry::tests::test_find_by_id_no_match ... ok
[INFO] [stdout] test rgb::tests::test_matrix_size ... ok
[INFO] [stdout] test rgb::tests::test_num_pages ... ok
[INFO] [stdout] test registry::tests::test_invalid_json_returns_error ... ok
[INFO] [stdout] test timing::tests::test_default_delay_ms ... ok
[INFO] [stdout] test timing::tests::test_query_retries ... ok
[INFO] [stdout] test timing::tests::test_send_retries ... ok
[INFO] [stdout] test registry::tests::test_supports_runtime_vid_pid_with_alias ... ok
[INFO] [stdout] test registry::tests::test_find_by_vid_pid_no_match ... ok
[INFO] [stdout] test registry::tests::test_load_m5w_from_devices_dir ... ok
[INFO] [stdout] test registry::tests::test_find_by_vid_pid_m5w ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 103 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/monsgeek_transport-a911bb4cec368c3c)
[INFO] [stdout] 
[INFO] [stdout] running 90 tests
[INFO] [stdout] test bounds::tests::test_validate_key_index_at_boundary_fails ... ok
[INFO] [stdout] test bounds::tests::test_udev_rules_file_exists ... ok
[INFO] [stdout] test bounds::tests::test_validate_key_index_layer_at_boundary_fails ... ok
[INFO] [stdout] test bounds::tests::test_validate_key_index_max_valid ... ok
[INFO] [stdout] test bounds::tests::test_validate_key_index_both_exceed ... ok
[INFO] [stdout] test active_path::tests::state_freshness_honors_age ... ok
[INFO] [stdout] test bounds::tests::test_validate_key_index_zero_valid ... ok
[INFO] [stdout] test controller::tests::controller_new_allows_immediate_first_command ... ok
[INFO] [stdout] test discovery::tests::test_device_info_struct_fields ... ok
[INFO] [stdout] test discovery::tests::test_enumerate_devices_exists_with_correct_signature ... ok
[INFO] [stdout] test bounds::tests::test_validate_write_request_missing_layer ... ok
[INFO] [stdout] test bounds::tests::test_validate_write_request_valid ... ok
[INFO] [stdout] test discovery::tests::test_probe_device_at_exists_with_correct_signature ... ok
[INFO] [stdout] test active_path::tests::state_file_path_is_hex_encoded ... ok
[INFO] [stdout] test bounds::tests::test_validate_write_request_missing_key_count ... ok
[INFO] [stdout] test discovery::tests::test_probe_devices_exists_with_correct_signature ... ok
[INFO] [stdout] test active_path::tests::write_read_roundtrip ... ok
[INFO] [stdout] test error::tests::test_bounds_violation_stores_fields ... ok
[INFO] [stdout] test error::tests::test_device_not_found_display ... ok
[INFO] [stdout] test error::tests::test_echo_mismatch_stores_expected ... ok
[INFO] [stdout] test error::tests::test_from_rusb_io_maps_to_usb ... ok
[INFO] [stdout] test error::tests::test_from_rusb_timeout_maps_to_usb ... ok
[INFO] [stdout] test error::tests::test_invalid_command_payload_display ... ok
[INFO] [stdout] test error::tests::test_kernel_driver_active_stores_interface ... ok
[INFO] [stdout] test error::tests::test_timeout_display ... ok
[INFO] [stdout] test error::tests::test_usb_error_display ... ok
[INFO] [stdout] test flow_control::tests::dongle_status_has_response_normalized_layout ... ok
[INFO] [stdout] test flow_control::tests::dongle_status_has_response_report_id_leaked_layout ... ok
[INFO] [stdout] test flow_control::tests::empty_placeholder_detection_checks_prefix ... ok
[INFO] [stdout] test flow_control::tests::normalize_query_response_accepts_direct_echo ... ok
[INFO] [stdout] test flow_control::tests::normalize_query_response_accepts_report_id_prefixed_echo ... ok
[INFO] [stdout] test flow_control::tests::normalize_query_response_accepts_two_zero_prefixed_echo ... ok
[INFO] [stdout] test flow_control::tests::normalize_query_response_rejects_mismatch ... ok
[INFO] [stdout] test flow_control::tests::test_query_command_exists_with_correct_signature ... ok
[INFO] [stdout] test flow_control::tests::test_send_command_exists_with_correct_signature ... ok
[INFO] [stdout] test input::tests::test_debounce_disabled ... ok
[INFO] [stdout] test flow_control::tests::test_uses_protocol_timing_constants ... ok
[INFO] [stdout] test flow_control::tests::test_query_raw_exists_with_correct_signature ... ok
[INFO] [stdout] test input::tests::test_debounce_allows_press_after_window ... ok
[INFO] [stdout] test input::tests::test_debounce_suppresses_fast_repress ... ok
[INFO] [stdout] test input::tests::test_duplicate_prev_key_releases_once ... ok
[INFO] [stdout] test input::tests::test_duplicate_hid_in_report_emits_single_press ... ok
[INFO] [stdout] test input::tests::test_modifier_press ... ok
[INFO] [stdout] test input::tests::test_modifier_release ... ok
[INFO] [stdout] test input::tests::test_release_all_keys_empty ... ok
[INFO] [stdout] test input::tests::test_releases_before_presses ... ok
[INFO] [stdout] test input::tests::test_short_report_ignored ... ok
[INFO] [stdout] test input::tests::test_single_key_press ... ok
[INFO] [stdout] test input::tests::test_multiple_modifiers ... ok
[INFO] [stdout] test input::tests::test_single_key_release ... ok
[INFO] [stdout] test input::tests::test_six_simultaneous_keys ... ok
[INFO] [stdout] test input::tests::test_unmapped_scancode_ignored ... ok
[INFO] [stdout] test keymap::tests::test_all_python_keys ... ok
[INFO] [stdout] test keymap::tests::test_extended_f_keys ... ok
[INFO] [stdout] test keymap::tests::test_unmapped ... ok
[INFO] [stdout] test keymap::tests::test_no_duplicates_in_all_keycodes ... ok
[INFO] [stdout] test tests::test_connect_exists_with_correct_signature ... ok
[INFO] [stdout] test tests::test_connect_with_options_exists_with_correct_signature ... ok
[INFO] [stdout] test keymap::tests::test_modifiers ... ok
[INFO] [stdout] test input::tests::test_release_all_keys_with_state ... ok
[INFO] [stdout] test tests::test_channel_closed_on_handle_drop ... ok
[INFO] [stdout] test tests::test_connect_at_with_options_exists_with_correct_signature ... ok
[INFO] [stdout] test keymap::tests::test_all_keycodes_contains_modifiers ... ok
[INFO] [stdout] test tests::test_recover_exists_with_correct_signature ... ok
[INFO] [stdout] test keymap::tests::test_all_keycodes_count ... ok
[INFO] [stdout] test tests::test_request_queue_size ... ok
[INFO] [stdout] test tests::test_transport_handle_is_clone ... ok
[INFO] [stdout] test tests::test_transport_handle_query_raw_signature ... ok
[INFO] [stdout] test tests::test_transport_handle_read_feature_report_signature ... ok
[INFO] [stdout] test tests::test_transport_handle_send_fire_and_forget_signature ... ok
[INFO] [stdout] test tests::test_transport_handle_send_query_signature ... ok
[INFO] [stdout] test tests::test_transport_handle_shutdown_consumes_self ... ok
[INFO] [stdout] test tests::test_transport_options_input_only ... ok
[INFO] [stdout] test tests::test_transport_options_default_to_control_only ... ok
[INFO] [stdout] test thread::tests::test_command_request_fields ... ok
[INFO] [stdout] test thread::tests::test_spawn_transport_thread_exists_with_correct_signature ... ok
[INFO] [stdout] test thread::tests::test_transport_event_device_arrived ... ok
[INFO] [stdout] test thread::tests::test_transport_event_device_left ... ok
[INFO] [stdout] test thread::tests::test_transport_event_input_actions ... ok
[INFO] [stdout] test thread::tests::test_transport_event_is_clone ... ok
[INFO] [stdout] test thread::tests::test_transport_event_is_debug ... ok
[INFO] [stdout] test usb::tests::test_hid_constants_match_reference ... ok
[INFO] [stdout] test usb::tests::test_interface_constants ... ok
[INFO] [stdout] test usb::tests::test_session_mode_default_unchanged ... ok
[INFO] [stdout] test usb::tests::test_session_mode_input_only_debug ... ok
[INFO] [stdout] test usb::tests::test_session_mode_input_only_variant ... ok
[INFO] [stdout] test usb::tests::test_usb_timeout ... ok
[INFO] [stdout] test usb::tests::test_usb_version_info_parse ... ok
[INFO] [stdout] test usb::tests::test_usb_version_info_rejects_wrong_echo ... ok
[INFO] [stdout] test usb::tests::test_vendor_set_report_rejects_wrong_size - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 90 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hardware.rs (/opt/rustwide/target/debug/deps/hardware-1b79e955e865a1f9)
[INFO] [stderr]      Running tests/hotplug_debug.rs (/opt/rustwide/target/debug/deps/hotplug_debug-d21bc77a4235e36b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/magnetism.rs (/opt/rustwide/target/debug/deps/magnetism-ec41e4e84c09d57d)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_magnetism_calibration_start_stop_format ... ok
[INFO] [stdout] test test_magnetism_get_multi_query_format ... ok
[INFO] [stdout] test test_magnetism_key_mode_format ... ok
[INFO] [stdout] test test_magnetism_max_cal_format ... ok
[INFO] [stdout] test test_magnetism_per_key_travel_parsing ... ok
[INFO] [stdout] test test_magnetism_set_multi_header_format ... ok
[INFO] [stdout] test test_magnetism_subcmd_constants ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/stall_recovery.rs (/opt/rustwide/target/debug/deps/stall_recovery-1b0e5bc477c8ad6a)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/udev_debug.rs (/opt/rustwide/target/debug/deps/udev_debug-b45cbcc78ccfaf36)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests monsgeek_cli
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests monsgeek_driver
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests monsgeek_firmware
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests monsgeek_inputd
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests monsgeek_protocol
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests monsgeek_transport
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/monsgeek-transport/src/lib.rs - TransportHandle (line 97) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.59s; merged doctests compilation took 0.58s
[INFO] running `Command { std: "docker" "inspect" "a6e1a6b6337dbccdbce4847944abb81fc9d7635889671ce7aef38454fa5443cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6e1a6b6337dbccdbce4847944abb81fc9d7635889671ce7aef38454fa5443cd", kill_on_drop: false }`
[INFO] [stdout] a6e1a6b6337dbccdbce4847944abb81fc9d7635889671ce7aef38454fa5443cd
